package top.byteio.common.core.constants;

/**
 * 常用MIME类型常量 (基于RFC 9110规范)
 * @see <a href="https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type">RFC 9110 Content-Type</a>
 */
public final class ContentType {
    //头文件类型
    public static final String CONTENT_DISPOSITION = "Content-Disposition";
    // 文本类型
    public static final String TEXT_PLAIN = "text/plain";
    public static final String TEXT_HTML = "text/html";
    public static final String TEXT_CSS = "text/css";
    public static final String TEXT_CSV = "text/csv";
    public static final String TEXT_XML = "text/xml";

    // 应用程序类型
    public static final String APPLICATION_JSON = "application/json";
    public static final String APPLICATION_XML = "application/xml";
    public static final String APPLICATION_JAVASCRIPT = "application/javascript";
    public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
    public static final String APPLICATION_PDF = "application/pdf";
    public static final String APPLICATION_ZIP = "application/zip";
    public static final String APPLICATION_GZIP = "application/gzip";
    public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";

    // 图片类型
    public static final String IMAGE_JPEG = "image/jpeg";
    public static final String IMAGE_PNG = "image/png";
    public static final String IMAGE_GIF = "image/gif";
    public static final String IMAGE_WEBP = "image/webp";
    public static final String IMAGE_SVG_XML = "image/svg+xml";

    // 音频类型
    public static final String AUDIO_MPEG = "audio/mpeg";
    public static final String AUDIO_WAV = "audio/wav";
    public static final String AUDIO_WEBM = "audio/webm";

    // 视频类型
    public static final String VIDEO_MP4 = "video/mp4";
    public static final String VIDEO_MPEG = "video/mpeg";
    public static final String VIDEO_WEBM = "video/webm";

    // 多部分类型
    public static final String MULTIPART_FORM_DATA = "multipart/form-data";

    // Office文档类型
    public static final String OFFICE_WORD = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
    public static final String OFFICE_EXCEL = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    public static final String OFFICE_POWERPOINT = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
    public static final String OFFICE_WORD_DOC = "application/msword";
    public static final String OFFICE_EXCEL_XLS = "application/vnd.ms-excel";
    public static final String OFFICE_POWERPOINT_PPT = "application/vnd.ms-powerpoint";

    // 字符集后缀
    public static final String CHARSET_UTF_8 = ";charset=UTF-8";
}
